package leetcode.lt100;

import java.util.ArrayList;
import java.util.List;

class Solution_77 {

	public static void main(String[] args) {

	}

	public List<List<Integer>> combine(int n, int k) {
		List<List<Integer>> res = new ArrayList<List<Integer>>();
		dfs(res, n, k, 0, new ArrayList<Integer>());
		return res;
	}

	private void dfs(List<List<Integer>> res, int n, int k, int i, ArrayList<Integer> tmp) {
		if (tmp.size() == k) {
			res.add(new ArrayList<Integer>(tmp));
			return;
		}
		for (; i < n; i++) {
			tmp.add(i);
			dfs(res, n, k, i, tmp);
			tmp.remove(tmp.size() - 1);
		}
	}

}